'''
Iterable    可迭代的
Iterator    迭代器

凡是可以for循环的，都是Iterable
凡是可以next()的，都是Iterator

'''


from collections import Iterable, Iterator

list1 = [1,2,3,4,5,6]
redlist = (1,2,3,4,5)
dict1 = {'name':'乔安生', 'age': 18}

print(isinstance(list1,Iterable))           #输出：True
print(isinstance(redlist,Iterable))         #输出：True
print(isinstance(dict1,Iterable))           #输出：True


print(isinstance(list1,Iterator))           #输出：False
print(isinstance(redlist,Iterator))         #输出：False
print(isinstance(dict1,Iterator))           #输出：False


def demo1(num):
    for x in num:
        yield x;

print(isinstance(demo1(10),Iterator))       #输出：True
print(isinstance(demo1(10),Iterable))       #输出：True





